Exemplo n.º 1
0
        public CalendarAssignmentListResponse GetCalendarAssignmentsByDate(int companyId, DateTime?filterDate)
        {
            CalendarAssignmentListResponse     response            = new CalendarAssignmentListResponse();
            List <CalendarAssignmentViewModel> CalendarAssignments = new List <CalendarAssignmentViewModel>();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM CalendarAssignments assignment " +
                        "WHERE (@Date IS NULL OR @Date = '' OR DATE(Date) = DATE(@Date)) " +
                        "AND assignment.CompanyId = @CompanyId " +
                        "ORDER BY assignment.IsSynced, assignment.Id DESC ", db);

                    selectCommand.Parameters.AddWithValue("@Date", ((object)filterDate) ?? DBNull.Value);
                    selectCommand.Parameters.AddWithValue("@CompanyId", companyId);

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    while (query.Read())
                    {
                        CalendarAssignmentViewModel dbEntry = Read(query);
                        CalendarAssignments.Add(dbEntry);
                    }
                    response.CalendarAssignments = CalendarAssignments;

                    selectCommand = new SqliteCommand(
                        "SELECT Count(*) " +
                        "FROM CalendarAssignments assignment " +
                        "WHERE (@Date IS NULL OR @Date = '' OR DATE(Date) = DATE(@Date)) " +
                        "AND assignment.CompanyId = @CompanyId " +
                        "ORDER BY assignment.IsSynced, assignment.Id DESC;", db);

                    selectCommand.Parameters.AddWithValue("@Date", ((object)filterDate) ?? DBNull.Value);
                    selectCommand.Parameters.AddWithValue("@CompanyId", companyId);

                    query = selectCommand.ExecuteReader();

                    if (query.Read())
                    {
                        response.TotalItems = query.GetInt32(0);
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage      = error.Message;
                    response.Success             = false;
                    response.Message             = error.Message;
                    response.CalendarAssignments = new List <CalendarAssignmentViewModel>();
                    return(response);
                }
                db.Close();
            }
            response.Success             = true;
            response.CalendarAssignments = CalendarAssignments;
            return(response);
        }
Exemplo n.º 2
0
        public CalendarAssignmentResponse Create(CalendarAssignmentViewModel CalendarAssignment)
        {
            CalendarAssignmentResponse response = new CalendarAssignmentResponse();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();

                SqliteCommand insertCommand = db.CreateCommand();
                insertCommand.CommandText = SqlCommandInsertPart;

                try
                {
                    insertCommand = AddCreateParameters(insertCommand, CalendarAssignment);
                    insertCommand.ExecuteNonQuery();
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    return(response);
                }
                db.Close();

                response.Success = true;
                return(response);
            }
        }
        public Calendar_AddEdit(CalendarAssignmentViewModel calendarAssignment, bool isCreateProcess, bool isPopup = false)
        {
            InitializeComponent();
            calendarAssignmentService = DependencyResolver.Kernel.Get <ICalendarAssignmentService>();

            this.DataContext = this;

            CurrentCalendarAssignment = calendarAssignment;
            IsCreateProcess           = isCreateProcess;
            IsPopup = isPopup;
        }
Exemplo n.º 4
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            CalendarAssignmentViewModel calendarAssignment = new CalendarAssignmentViewModel();

            calendarAssignment.Identifier = Guid.NewGuid();
            calendarAssignment.Date       = TodayDate?.Date ?? DateTime.Now.Date;

            Calendar_AddEdit addEditForm = new Calendar_AddEdit(calendarAssignment, true);

            addEditForm.CalendarAssignmentCreatedUpdated += new CalendarAssignmentHandler(SyncData);
            FlyoutHelper.OpenFlyout(this, ((string)Application.Current.FindResource("Kalendar")), 95, addEditForm);
        }
Exemplo n.º 5
0
        public CalendarAssignmentResponse Create(CalendarAssignmentViewModel CalendarAssignment)
        {
            CalendarAssignmentResponse response = new CalendarAssignmentResponse();

            try
            {
                response = WpfApiHandler.SendToApi <CalendarAssignmentViewModel, CalendarAssignmentResponse>(CalendarAssignment, "Create");
            }
            catch (Exception ex)
            {
                response.CalendarAssignment = new CalendarAssignmentViewModel();
                response.Success            = false;
                response.Message            = ex.Message;
            }

            return(response);
        }
Exemplo n.º 6
0
        private static CalendarAssignmentViewModel Read(SqliteDataReader query)
        {
            int counter = 0;
            CalendarAssignmentViewModel dbEntry = new CalendarAssignmentViewModel();

            dbEntry.Id          = SQLiteHelper.GetInt(query, ref counter);
            dbEntry.Identifier  = SQLiteHelper.GetGuid(query, ref counter);
            dbEntry.Name        = SQLiteHelper.GetString(query, ref counter);
            dbEntry.Description = SQLiteHelper.GetString(query, ref counter);
            dbEntry.Date        = SQLiteHelper.GetDateTime(query, ref counter);

            dbEntry.IsSynced   = SQLiteHelper.GetBoolean(query, ref counter);
            dbEntry.UpdatedAt  = SQLiteHelper.GetDateTime(query, ref counter);
            dbEntry.AssignedTo = SQLiteHelper.GetCreatedBy(query, ref counter);
            dbEntry.CreatedBy  = SQLiteHelper.GetCreatedBy(query, ref counter);
            dbEntry.Company    = SQLiteHelper.GetCompany(query, ref counter);
            return(dbEntry);
        }
        public static CalendarAssignmentViewModel ConvertToCalendarAssignmentViewModelLite(this CalendarAssignment CalendarAssignment)
        {
            CalendarAssignmentViewModel CalendarAssignmentViewModel = new CalendarAssignmentViewModel()
            {
                Id         = CalendarAssignment.Id,
                Identifier = CalendarAssignment.Identifier,

                Name        = CalendarAssignment.Name,
                Description = CalendarAssignment.Description,
                Date        = CalendarAssignment.Date,

                IsActive = CalendarAssignment.Active,

                UpdatedAt = CalendarAssignment.UpdatedAt,
                CreatedAt = CalendarAssignment.CreatedAt
            };

            return(CalendarAssignmentViewModel);
        }
        public JsonResult Create([FromBody] CalendarAssignmentViewModel c)
        {
            CalendarAssignmentResponse response;

            try
            {
                response = this.calendarAssignmentService.Create(c);
            }
            catch (Exception ex)
            {
                response = null;
                Console.WriteLine(ex.Message);
            }

            return(Json(response, new Newtonsoft.Json.JsonSerializerSettings()
            {
                Formatting = Newtonsoft.Json.Formatting.Indented
            }));
        }
Exemplo n.º 9
0
        private SqliteCommand AddCreateParameters(SqliteCommand insertCommand, CalendarAssignmentViewModel CalendarAssignment)
        {
            insertCommand.Parameters.AddWithValue("@ServerId", CalendarAssignment.Id);
            insertCommand.Parameters.AddWithValue("@Identifier", CalendarAssignment.Identifier);
            insertCommand.Parameters.AddWithValue("@Name", ((object)CalendarAssignment.Name) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@Description", ((object)CalendarAssignment.Description) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@Date", ((object)CalendarAssignment.Date) ?? DBNull.Value);

            insertCommand.Parameters.AddWithValue("@IsSynced", CalendarAssignment.IsSynced);
            insertCommand.Parameters.AddWithValue("@UpdatedAt", ((object)CalendarAssignment.UpdatedAt) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@AssignedToId", ((object)CalendarAssignment?.AssignedTo?.Id) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@AssignedToName", (object)(CalendarAssignment?.AssignedTo?.FirstName + " " + CalendarAssignment?.AssignedTo?.LastName) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@CreatedById", MainWindow.CurrentUser.Id);
            insertCommand.Parameters.AddWithValue("@CreatedByName", MainWindow.CurrentUser.FirstName + " " + MainWindow.CurrentUser.LastName);
            insertCommand.Parameters.AddWithValue("@CompanyId", MainWindow.CurrentCompany.Id);
            insertCommand.Parameters.AddWithValue("@CompanyName", MainWindow.CurrentCompany.CompanyName);

            return(insertCommand);
        }
        public static CalendarAssignment ConvertToCalendarAssignment(this CalendarAssignmentViewModel CalendarAssignmentViewModel)
        {
            CalendarAssignment CalendarAssignment = new CalendarAssignment()
            {
                Id          = CalendarAssignmentViewModel.Id,
                Identifier  = CalendarAssignmentViewModel.Identifier,
                Name        = CalendarAssignmentViewModel.Name,
                Description = CalendarAssignmentViewModel.Description,
                Date        = CalendarAssignmentViewModel.Date,

                AssignedToId = CalendarAssignmentViewModel?.AssignedTo?.Id ?? null,

                Active      = CalendarAssignmentViewModel.IsActive,
                CreatedById = CalendarAssignmentViewModel.CreatedBy?.Id ?? null,
                CompanyId   = CalendarAssignmentViewModel.Company?.Id ?? null,

                CreatedAt = CalendarAssignmentViewModel.CreatedAt,
                UpdatedAt = CalendarAssignmentViewModel.UpdatedAt
            };

            return(CalendarAssignment);
        }
        public CalendarAssignmentResponse Create(CalendarAssignmentViewModel assignment)
        {
            CalendarAssignmentResponse response = new CalendarAssignmentResponse();

            try
            {
                response.CalendarAssignment = unitOfWork.GetCalendarAssignmentRepository()
                                              .Create(assignment.ConvertToCalendarAssignment())
                                              .ConvertToCalendarAssignmentViewModel();

                unitOfWork.Save();
                response.Success = true;
            }
            catch (Exception ex)
            {
                response.CalendarAssignment = new CalendarAssignmentViewModel();
                response.Success            = false;
                response.Message            = ex.Message;
            }

            return(response);
        }
        public static CalendarAssignmentViewModel ConvertToCalendarAssignmentViewModel(this CalendarAssignment CalendarAssignment)
        {
            CalendarAssignmentViewModel CalendarAssignmentViewModel = new CalendarAssignmentViewModel()
            {
                Id         = CalendarAssignment.Id,
                Identifier = CalendarAssignment.Identifier,

                Name        = CalendarAssignment.Name,
                Description = CalendarAssignment.Description,
                Date        = CalendarAssignment.Date,

                IsActive = CalendarAssignment.Active,

                CreatedBy  = CalendarAssignment?.CreatedBy?.ConvertToUserViewModelLite(),
                AssignedTo = CalendarAssignment?.AssignedTo?.ConvertToUserViewModelLite(),

                Company = CalendarAssignment?.Company?.ConvertToCompanyViewModelLite(),

                UpdatedAt = CalendarAssignment.UpdatedAt,
                CreatedAt = CalendarAssignment.CreatedAt
            };

            return(CalendarAssignmentViewModel);
        }
        private void BtnSubmit_Click(object sender, RoutedEventArgs e)
        {
            #region Validation

            if (CurrentCalendarAssignment.Date == null)
            {
                MainWindow.WarningMessage = ((string)Application.Current.FindResource("ObaveznoPoljeDatum"));
                return;
            }
            if (String.IsNullOrEmpty(CurrentCalendarAssignment.Name))
            {
                MainWindow.WarningMessage = ((string)Application.Current.FindResource("ObaveznoPoljeNaziv"));
                return;
            }
            if (String.IsNullOrEmpty(CurrentCalendarAssignment.Description))
            {
                MainWindow.WarningMessage = ((string)Application.Current.FindResource("ObaveznoPoljeOpis"));
                return;
            }

            #endregion

            Thread th = new Thread(() =>
            {
                SubmitButtonContent = ((string)Application.Current.FindResource("Čuvanje_u_tokuTriTacke"));
                SubmitButtonEnabled = false;

                CurrentCalendarAssignment.IsSynced = false;
                CurrentCalendarAssignment.Company  = new CompanyViewModel()
                {
                    Id = MainWindow.CurrentCompanyId
                };
                CurrentCalendarAssignment.CreatedBy = new UserViewModel()
                {
                    Id = MainWindow.CurrentUserId
                };

                CalendarAssignmentResponse response = new CalendarAssignmentSQLiteRepository().Delete(CurrentCalendarAssignment.Identifier);
                response = new CalendarAssignmentSQLiteRepository().Create(CurrentCalendarAssignment);
                if (!response.Success)
                {
                    MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Greška_kod_lokalnog_čuvanjaUzvičnik"));
                    SubmitButtonContent     = ((string)Application.Current.FindResource("Proknjiži"));
                    SubmitButtonEnabled     = true;
                    return;
                }

                response = calendarAssignmentService.Create(CurrentCalendarAssignment);
                if (!response.Success)
                {
                    MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Podaci_su_sačuvani_u_lokaluUzvičnikTačka_Greška_kod_čuvanja_na_serveruUzvičnik"));
                    SubmitButtonContent     = ((string)Application.Current.FindResource("Proknjiži"));
                    SubmitButtonEnabled     = true;
                }

                if (response.Success)
                {
                    MainWindow.SuccessMessage = ((string)Application.Current.FindResource("Podaci_su_uspešno_sačuvaniUzvičnik"));
                    SubmitButtonContent       = ((string)Application.Current.FindResource("Proknjiži"));
                    SubmitButtonEnabled       = true;

                    CalendarAssignmentCreatedUpdated?.Invoke();

                    if (IsCreateProcess)
                    {
                        DateTime tmpDate                     = CurrentCalendarAssignment.Date;
                        CurrentCalendarAssignment            = new CalendarAssignmentViewModel();
                        CurrentCalendarAssignment.Identifier = Guid.NewGuid();
                        CurrentCalendarAssignment.Date       = tmpDate;

                        Application.Current.Dispatcher.BeginInvoke(
                            System.Windows.Threading.DispatcherPriority.Normal,
                            new Action(() =>
                        {
                            dtSelectedDate.Focus();
                        })
                            );
                    }
                    else
                    {
                        Application.Current.Dispatcher.BeginInvoke(
                            System.Windows.Threading.DispatcherPriority.Normal,
                            new Action(() =>
                        {
                            if (IsPopup)
                            {
                                FlyoutHelper.CloseFlyoutPopup(this);
                            }
                            else
                            {
                                FlyoutHelper.CloseFlyout(this);
                            }
                        })
                            );
                    }
                }
            });
            th.IsBackground = true;
            th.Start();
        }